/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package info.toegepaste.www.dataaccess;

import info.toegepaste.www.beans.Alumnus;
import info.toegepaste.www.beans.Event;
import info.toegepaste.www.beans.Functie;
import info.toegepaste.www.beans.Inschrijving;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Logic
 */
public class DAFunctie {
    private Connection connection = null;

    public DAFunctie(String url, String login, String password) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection(url, login, password);
    }
    public DAFunctie(Connection conn){
        connection = conn;
    }
    public void close() throws SQLException {
        if (connection != null) {
            connection.close();
        }
    }
    
    public Functie getFunctie(int id) {
        Functie functie = new Functie();
        PreparedStatement statement = null;
        ResultSet resultSet = null;

        try {
            statement = connection.prepareStatement("SELECT  * FROM functie where functieID = ?");
            statement.setInt(1, id);
            resultSet = statement.executeQuery();
            if (resultSet.next()) {
                functie.setFunctieID(resultSet.getInt("functieID"));
                functie.setFunctienaam(resultSet.getString("functienaam"));
            } 
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                statement.close();
                if (resultSet != null) {
                    resultSet.close();
                }
            } catch (SQLException e) {
            }
        }
        return functie;
    }
    public ArrayList<Functie> getAlleFuncties() {
        ArrayList<Functie> resultaat = new ArrayList<Functie>();
        PreparedStatement statement = null;
        ResultSet resultSet = null;
        try {
            statement = connection.prepareStatement("select * from functie");
            resultSet = statement.executeQuery();
            while (resultSet.next()) {
                Functie functie = new Functie();
                functie.setFunctieID(resultSet.getInt("functieID"));
                functie.setFunctienaam(resultSet.getString("functienaam"));
                
                resultaat.add(functie);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (statement != null) {
                    statement.close();
                }
                
                if (resultSet != null) {
                    resultSet.close();
                }
            } catch (SQLException e) {
            }
        }
        return resultaat;
    }
    
    public boolean insertFunctie(String functienaam) {
        boolean resultaat = true;
        PreparedStatement statement = null;
        try {
            statement = connection.prepareStatement("insert into functie (functienaam) values(?)");

            statement.setString(1, functienaam);
            statement.executeUpdate();
            
        } catch (Exception e) {
            resultaat = false;
            e.printStackTrace();
        } finally {
            try {
                if (statement != null) {
                    statement.close();
                }
            } catch (SQLException e) {
            }
        }
        return resultaat;
    }
}
